【发布时间】:2015-06-15 10:13:23
【问题描述】:
我已使用 ht-access 隐藏 .php 文件扩展名。在.htaccess 文件中,我的代码是:
# Apache Rewrite Rules
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# Add trailing slash to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php
# End of Apache Rewrite Rules
</IfModule>
它很好地隐藏了.php 文件扩展名。 但问题是,href 属性内的链接无法正常打开。
我有两个文件:
public_html/afiliate/product_details.php
public_html/afiliate/afiliate_login.php
在product_details.php里面我已经给了afiliate_login.php这样的链接
<a href="afiliate_login.php" target="_blank">Log in</a>
点击登录我应该去一个类似的页面
example.com/afiliate/afiliate_login/
但它需要我去
example.com/afiliate/product_details/afiliate_login/
因此出现 404 错误
再次注意,如果我手动输入此 URL
example.com/afiliate/afiliate_login/
没关系,按预期进入页面。
现在我怎样才能使链接正常工作?
【问题讨论】:
标签: javascript php apache .htaccess