У меня вопрос об удалении конца файла в строке url (.something like .php, .html, .js, .asp
part). Моя цель такова, что всякий раз, когда кто-то печатает в url что-то вроде www.123.com/a
где находится файл, скажем, php-файл (так это a.php
), чтобы люди могли вводить www.123.com/ а вместо www.123.com/a.php . Как это исправить?
Есть ли какой-то уникальный способ сохранить файлы, чтобы они были сохранены и могут быть вызваны через URL-адрес только по его названию? В моем случае, если я позвоню www.123.com/a
он скажет "object not found error"
но он будет работать на www.123.com/a.php
.
Как скрыть часть файла в строке url?
Дополнительные примечания, я использую notepad
поэтому всякий раз, когда я сохраняю, я a.php
в a.php
как сохранение, как для PHP или a.js
для файлов javascript.
Обычно это делается с .htaccess
:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule (.*) $1.php [QSA]
Используйте .htaccess!
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^(.*)$ $1.html
https://stackoverflow.com/a/10469791/1533203
http://eisabainyo.net/weblog/2007/08/19/removing-file-extension-via-htaccess/
Как это исправить? Есть ли какой-то уникальный способ сохранить файлы, чтобы они были сохранены и могут быть вызваны через URL-адрес только по его названию?
Нет.
Что на самом деле происходит, так это то, что веб-сервер переписывает запросы до того, как они дойдут до PHP.
Таким образом, пользователь может ввести (или отправить):
http://stackoverflow.com/questions/14026969/remove-url-file-ending-php-js-asp-etc
Apache (или любой другой веб-сервер, который вы используете) переписывает это на что-то вроде:
http://stackoverflow.com/index.php?page=questions&id=14026969&title=remove-url-file-ending-php-js-asp-etc
Из этого мы можем его обработать.