请原谅我,因为我很擅长使用.htaccess,并且我遇到了一些问题,因为我需要的设置虽然很简单,但看起来很少见。
基本上,我正在尝试从页面隐藏.php扩展名的辅助域,但同时也将不存在页面的请求重定向到自定义搜索页面。总体预期效果是:
realpage => realpage.php
和
falsepage => search.php中Q = falsepage
到目前为止,我所拥有的代码(见下文)似乎正确地应用了后者,但不是为'domain.com/realpage'返回'realpage.php'而是返回404错误。
我发现变种也将realpage移动到'search.php?q = missing',以防出现任何可能出错的迹象!
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^([^\.]+)$ $1.php [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)\.php$ search.php?q=$1 [L]
感谢您提供的任何帮助!非常感谢!
答案 0 :(得分:0)
我认为,对于你的第一条规则,你想要的是:
RewriteBase /
RewriteRule ^([^.]+)$ $1.php [L]
我通过rewrite rule tester运行了它,它会将'realpage'指向'realpage.php'。如果这不起作用,我会建议禁用你的第二条规则,确保第一条规则运行良好,然后在稍后添加对丢失文件的检查。