我有一个包含html页面的网站和一个.php页面。我想找到一种方法来隐藏地址栏中的.php扩展名。
我希望该页面显示为example.com/submit,而不是example.com/submit.php
另外,使用下面的.htaccess文件,我似乎无法获得从.html版本的页面重定向到.php页面的Google网站链接。
以下是我的.htaccess文件中的内容:
ErrorDocument 404 /page-not-found.html
ErrorDocument 403 /access-denied.html
SetEnv TZ America/Chicago
IndexIgnore *
Options +MultiViews
RewriteCond %{REQUEST_FILENAME} (.*)\.html [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %1\.php -f [NC]
RewriteRule ^(.*).html$ $1.php [NC]
我希望有人能帮我解决这个问题。
感谢。
看来这个答案来自另一个特定于godaddy的线程。甚至不是接受的答案,而是另外的评论。
Using .htaccess to make all .html pages to run as .php files?
Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
答案 0 :(得分:0)
您可以使用以下规则:
ErrorDocument 404 /page-not-found.html
ErrorDocument 403 /access-denied.html
SetEnv TZ America/Chicago
IndexIgnore *
Options -MultiViews
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC]
RewriteRule ^(.+?)(?:.html)?$ /$1.php [L,NC]
答案 1 :(得分:0)
front controller pattern可能会更好地帮助你。
这可以帮助你拥有/ foo / bar,所有这些都将由index.php处理。
如果你可以使用.html而不是.php,用这样的东西编辑apache配置可能会有所帮助:
AddType application/x-httpd-php .php .html .htm .your_ext