【发布时间】:2018-02-07 07:05:16
【问题描述】:
我正在关注我的网站的 url 结构 ex url 结构是:
http://www.example.com/service-name-1
http://www.example.com/service-name-2
等 这是案例1 现在检查我的 htaccess 代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Za-z-\s0-9]+)$ service_detail.php?seo=$1 [L,QSA]
</IfModule>
我的 htaccess 完美地重写了 url 并重定向到 service_detail.php 页面(我没有问题)
现在第二种情况是我有一些其他 url 有物理页面示例
http://www.example.com/contact-us.php
http://www.example.com/openings.php
如果我从 url 中删除 .php,那么 htaccess 认为这是一个重定向 url,它重定向到 service_detail.php 页面
我想要一个规则,如果在 url 中存在contact-us OR openings,那么我将重定向到contact-us.php 页面或 openings.php 页面
但没有.php 扩展名 喜欢这个
http://www.example.com/contact-us
http://www.example.com/openings
提前致谢
【问题讨论】:
-
也许
RewriteRule ^([A-Za-z-\s0-9]+).php$ $1.php [L,QSA],我已经很久没有比.* index.php做得更多了;p -
谢谢哥们.. 但它不工作
-
谢谢哥们 .. 它正在工作
-
酷,你把它放在另一个上面了吗?
-
@LawrenceCherone 您在上面发布的规则可能会导致无限循环错误,因为它将
/file.php重写为自身/file.php我确信OP 没有对此进行测试。
标签: php regex apache .htaccess