【问题标题】:Remove .php extention add slash & redirect to www with htaccess删除 .php 扩展名添加斜杠并使用 htaccess 重定向到 www
【发布时间】:2017-07-14 06:49:15
【问题描述】:

我想使用 .htaccess 没有 .php 或 html 扩展来制作 seo 友好的 url。还会自动重定向到 https://www 结尾 URL,并带有斜杠。

我有 php 页面: - 索引.php - 产品.php - 关于.php - 联系人.php - 网络.php

我想要的最终访问权限,例如 https://www.mydomain.com/product/

网络服务器 apache 2.4.6

我尝试了,但图像、css、js、字体、其他 php/html 文件不起作用

RewriteEngine On

# Remove file extensions, add a trailing slash.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

提前谢谢大家。

【问题讨论】:

  • 请在此处了解如何提问。 SO 不是不是免费的编码服务,我们不是来为您工作的。对不起。 stackoverflow.com/help/how-to-ask & meta.stackoverflow.com/questions/261592/…
  • 对不起,如果我的问题不友好
  • 一切都好 ;-) 这根本与友好无关!您添加了您的尝试,太好了,实际上您还添加了一些非常重要的细节,为问题提供了一些全新的方向。有了这样的具体信息,这里的人们实际上可以提供帮助。谢谢!

标签: apache .htaccess redirect mod-rewrite


【解决方案1】:

您可以使用此规则删除 .php 并在您的 Apache 2.4 上强制执行 https

RewriteEngine on
RewriteCond %{HTTPS}#%{HTTP_HOST} ^off#(?:www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R]
#remove .php
RewriteRule ^(.+)\.php$ /$1/ [L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [END]

要修复您的 css、js 和其他相关资源,只需在网页的 head 部分添加以下基本标记

<base href="/"> 

【讨论】:

    猜你喜欢
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 2011-07-08
    相关资源
    最近更新 更多